﻿using System;

namespace YaAppoint.DapperRepositories
{
    /// <summary>
    /// 从his库 pacs_view_exam_apply_item 视图查询  
    /// </summary>
    public class HisExamApplyItemDto
    {
        /// <summary>
        /// 姓名
        /// </summary>
        public string? Name { get; set; }

        /// <summary>
        /// 患者ID
        /// </summary>
        public string? PatientId { get; set; }

        /// <summary>
        /// 患者性别
        /// 0:男  1:女  2
        /// </summary>
        public PatientSex Sex { get; set; }

        /// <summary>
        /// 出生日期
        /// </summary>
        public DateTime BirthDate { get; set; }

        /// <summary>
        /// 父母姓名
        /// </summary>
        public string? ParentName { get; set; }

        /// <summary>
        /// 证件类型编码
        /// his编码
        /// </summary>
        public string? IdCardTypeCode { get; set; }

        /// <summary>
        /// 证件类型
        /// </summary>
        public string? IdCardType { get; set; }

        /// <summary>
        /// 证件号码
        /// </summary>
        public  string? IdCardNumber { get; set; }

        /// <summary>
        /// 医保卡类型编码
        /// </summary>
        public  string? MedicalInsuranceTypeCode { get; set; }

        /// <summary>
        /// 医保卡类型
        /// </summary>
        public string?  MedicalInsuranceType { get; set; }

        /// <summary>
        /// 医保卡号
        /// </summary>
        public string? MedicalInsuranceNumber { get; set; }

        /// <summary>
        /// 电子健康码
        /// </summary>
        public string?  ElectronicHealthCode { get; set; }

        /// <summary>
        /// 患者主索引
        /// </summary>
        public string? PatientEMPI { get; set; }

        /// <summary>
        /// 区域患者索引
        /// </summary>
        public string? GlobalEMPI { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        public string? PhoneNumber { get; set; }

        /// <summary>
        /// 联系方式2
        /// </summary>
        public string? PhoneNumber2 { get; set; }

        /// <summary>
        /// 家庭住址
        /// </summary>
        public string? Address { get; set; }

        /// <summary>
        /// 民族编码
        /// </summary>
        public string? EthnicGroupCode { get; set; }

        /// <summary>
        /// 民族
        /// </summary>
        public string? EthnicGroup { get; set; }

        /// <summary>
        /// 就诊卡号
        /// </summary>
        public string? MedicalCardNumber { get; set; }

        /// <summary>
        /// 申请单号
        /// </summary>
        public string ApplyNumber { get; set; }

        /// <summary>
        /// 单据号
        /// </summary>
        public string? BillNumber { get; set; }

        /// <summary>
        /// 发票号
        /// </summary>
        public string? InvoiceNumber { get; set; }

        /// <summary>
        /// 外部编号
        /// </summary>
        public string? OuterNumber { get; set; }

        /// <summary>
        /// 年龄
        /// eg: "10岁"
        /// </summary>
        public string? Age { get; set; }

        /// <summary>
        /// 年龄值
        /// </summary>
        public  int AgeValue { get; set; }

        /// <summary>
        /// 年龄单位
        /// 0:岁、1:月、2:天、3:时
        /// </summary>
        public  AgeUnit AgeUnit { get; set; }

        /// <summary>
        /// 身高
        /// </summary>
        public string? Height { get; set; }

        /// <summary>
        /// 体重
        /// </summary>
        public string? Weight { get; set; }

        /// <summary>
        /// 患者来自编码
        /// </summary>
        public  string? PatientFromCode { get; set; }

        /// <summary>
        /// 患者来自
        /// </summary>
        public  string? PatientFrom { get; set; }

        /// <summary>
        /// 患者类型编码
        /// </summary>
        public string? PatientTypeCode { get; set; }

        /// <summary>
        /// 患者类型、
        /// 门诊、住院、体检 等
        /// </summary>
        public string? PatientType { get; set; }

        /// <summary>
        /// 病案号 
        /// </summary>
        public  string? MedicalRecordNumber { get; set; }

        /// <summary>
        /// 体检号
        /// 患者类型为体检时，提供体检号
        /// </summary>
        public string? PhysicalExamNumber { get; set; }

        /// <summary>
        /// 门诊号 
        /// 患者类型为门诊时，提供门诊号
        /// </summary>
        public virtual string? OutPatientNumber { get; set; }

        /// <summary>
        /// 住院号
        /// 患者类型为住院时，提供住院号
        /// </summary>
        public string? InPatientNumber { get; set; }

        /// <summary>
        /// 病区
        /// </summary>
        public  string? InPatientArea { get; set; }

        /// <summary>
        /// 病房号
        /// </summary>
        public string? WardNumber { get; set; }

        /// <summary>
        /// 床位号
        /// </summary>
        public  string? BedNumber { get; set; }

        /// <summary>
        /// 申请医生工号
        /// 员工工号！！！
        /// </summary>
        public string ApplyDoctorCode { get; set; }

        /// <summary>
        /// 申请医生
        /// </summary>
        public string ApplyDoctorName { get; set; }

        /// <summary>
        /// 申请科室编码
        /// </summary>
        public string? ApplyDepartmentCode { get; set; }

        /// <summary>
        /// 申请科室名称
        /// </summary>
        public string? ApplyDepartmentName { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        public DateTime ApplyTime { get; set; }

        /// <summary>
        /// 检查项目编号(详情Id)
        /// </summary>
        public string? ExamItemNumber { get; set; }

        /// <summary>
        /// 编码（检查项目his编码，对应本系统外码） 
        /// </summary>
        public string? ExamItemCode { get; set; }

        /// <summary>
        /// 检查项目名称
        /// </summary>
        public string? ExamItemName { get; set; }

        /// <summary>
        /// 检查项目医保编码
        /// </summary>
        public string? ExamItemInsuranceCode { get; set; }

        /// <summary>
        /// 检查项目费用
        /// </summary>
        public float? ExamItemFee { get; set; }

        /// <summary>
        /// 检查项目状态
        /// </summary>
        public string? ExamItemStatus { get; set; }

        /// <summary>
        /// 临床诊断
        /// </summary>
        public string? ClinicalDiagnosis { get; set; }

        /// <summary>
        /// 现病史
        /// </summary>
        public string? MedicalHistory { get; set; }

        /// <summary>
        /// 患者主诉
        /// </summary>
        public string? ChiefComplaint { get; set; }

        /// <summary>
        /// 过敏史
        /// </summary>
        public string? AllergyHistory { get; set; }

        /// <summary>
        /// 从事职业编码
        /// </summary>
        public string? ProfessionCode { get; set; }

        /// <summary>
        /// 从事职业名称
        /// </summary>
        public string? ProfessionName { get; set; }

        /// <summary>
        /// 婚姻状态编码
        /// </summary>
        public string? MaritalStatusCode { get; set; }

        /// <summary>
        /// 婚姻状况名称
        /// </summary>
        public  string? MaritalStatusName { get; set; }

        /// <summary>
        /// 月经史
        /// </summary>
        public string? MenstrualHistory { get; set; }

        /// <summary>
        /// 末次月经日期
        /// </summary>
        public DateTime? LastMenstruationDate { get; set; }

        /// <summary>
        /// 孕周
        /// </summary>
        public string? GestationalWeek { get; set; }

        /// <summary>
        /// 预产期
        /// </summary>
        public DateTime? ChildbirthDate { get; set; }

        /// <summary>
        /// 是否怀孕
        /// 0:否 ， 1:是
        /// </summary>
        public  int? IsPregnancy { get; set; }

        /// <summary>
        /// 急诊患者
        /// 0:否 ， 1:是
        /// </summary>
        public int? IsEmergency { get; set; }

        /// <summary>
        /// 是否保密
        /// 0:否 ， 1:是
        /// </summary>
        public int? IsPrivacy { get; set; }

        /// <summary>
        /// 是否缴费
        /// 0:否 ， 1:是
        /// </summary>
        public int? IsPayment { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }

        /// <summary>
        /// 设备类型编码
        /// 如果没有，则则设备类型名称必填
        /// </summary>
        public string? DeviceTypeCode { get; set; }

        /// <summary>
        /// 设备类型名称
        /// </summary>
        public string? DeviceType { get; set; }

        /// <summary>
        /// 检查部位
        /// </summary>
        public  string? ExamBodyPart { get; set; }
    }
}
